def internal_mon_1():
  """Internal call DN1 to DN2, abnormal release DN1"""
  DN1.MakeCall(DN2)
  DN1.ReleaseCall()

def internal_mon_2():
  """Internal call DN1 to DN2,  release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.ReleaseCall()

def internal_mon_3():
  """Internal call DN1 to DN2,  release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.ReleaseCall()


def internal_mon_4():
  """Internal call DN1 to  DN2, two step transfer to DN3, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN2.CompleteTransfer()
  DN3.ReleaseCall()


def internal_mon_5():
  """Internal call DN1 to  DN2, DN2 init transfer to DN3, release DN1, release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN1.ReleaseCall()
  DN2.ReleaseCall()
  
def internal_mon_6():
  """Internal call DN1 to  DN2, DN2 init transfer to DN3, release DN1, DN3 answer, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN1.ReleaseCall()
  DN3.AnswerCall()
  DN3.ReleaseCall()  
  
def internal_mon_7():
  """Internal call DN1 to  DN2, DN1 init transfer to DN3, release DN2, DN3 answer, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateTransfer(DN3)
  DN2.ReleaseCall()
  DN3.AnswerCall()
  DN3.ReleaseCall()   

def internal_mon_8():
  """Internal call DN1 to  DN2, DN1 init transfer to DN3, DN2 answer, DN3 answer, release DN3, release DN2"""
  DN1.MakeCall(DN2)
  DN1.InitiateTransfer(DN3)
  DN2.AnswerCall()
  DN3.AnswerCall()
  DN3.ReleaseCall()  
  DN2.ReleaseCall()    

def internal_mon_9():
  """Internal call DN1 to  DN2, DN1 init transfer to DN3,  DN3 answer, DN2 answer, release DN3, release DN2"""
  DN1.MakeCall(DN2)
  DN1.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN2.AnswerCall()
  DN3.ReleaseCall()  
  DN2.ReleaseCall() 
  

def internal_mon_10():
  """Internal call DN1 to  DN2, two step transfer to DN3, abnormal release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN2.ReleaseCall()
  DN1.ReleaseCall()

def internal_mon_11():
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN1.ReleaseCall()
  DN2.ReleaseCall()


def  internal_mon_12():
  """Internal call to  DN2, two step transfer to DN3, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN2.CompleteTransfer()
  DN3.ReleaseCall()

def internal_mon_13():
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN1.ReleaseCall()
  DN3.ReleaseCall()


def internal_mon_14():
  """Internal call DN1 to DN2, two step transfer to DN3, completed before consulted party answer"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN2.CompleteTransfer()
  DN3.AnswerCall()
  DN1.ReleaseCall()

def internal_mon_15():
  """Internal call, two step transfer to DN3, completed before consulted party answer, abnor"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN2.CompleteTransfer()
  DN1.ReleaseCall()


def internal_mon_16():
  """something"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN1.ReleaseCall()
  DN2.InitiateTransfer(DN1)
  DN2.CompleteTransfer()
  DN1.AnswerCall()
  DN3.ReleaseCall()  

def internal_mon_17():
  """Internal call DN1 to DN2, internal conference to DN3, release DN1, DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(DN3)
  DN3.AnswerCall()
  DN2.CompleteConference()
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def internal_mon_18():
  """Internal call DN1 to DN2, DN2 cinit conference to DN3, abnorl release DN2, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(DN3)
  DN2.ReleaseCall()
  DN1.ReleaseCall()


def internal_mon_19():
  """Internal call DN1 to DN2, DN2 conference to DN3, completed before consulted party answer"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(DN3)
  DN2.CompleteConference()
  DN3.AnswerCall()
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def internal_mon_20():
  """Internal call DN1 to DN2, DN2 conf to DN3, compl before cons. party answer, abnor. release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(DN3)
  DN2.CompleteConference()
  DN2.ReleaseCall()
  DN3.AnswerCall()
  DN1.ReleaseCall()


